The present invention relates to a query processing process.
The invention more particularly relates to a query and result conversion process between a client application and a plurality of heterogeneous data sources by an adapter device, of a given architecture, specific to each data source, and the given adapter architecture enabling the implementation of said process.
Significant information of all types exists in corporate or public domain files, for example.. Most of this information cannot be processed since it is located in multiple databases, which are difficult to integrate, or in multiple word processing files. Solutions have been provided to render unprocessed data accessible via Intranet or Internet environments. These solutions do not solve the critical problems confronting data transfer managers. The information is stored in a mixed set of systems, each system having its own access protocols and its own interfaces. When information is requested by a client in the form of a query, only part of the information is generally useful for the client application""s requirements. The data is never in the correct form. Most of the time, it is necessary to write an ad hoc program to convert the data into a usable format. Many items of useful information are contained in private files, and manual extraction of even partially usable information requires considerable time. The integration of new servers or databases represents laborious work and the result is generally lacking in flexibility and offers low compatibility. The main problems consist of accessing the information at its location, in its original format, converting it into a usable format and sending to the applications that require it. The query from a client is processed by an adapter. A specific adapter is associated with each data source.
Therefore, the present invention overcomes the disadvantages of the prior art by with a query processing process, common to all adapters. The process according to the invention provides a uniform access interface for information sources such as relational DMBSs (DataBase Management Systems), system files, xe2x80x9cLotus Notesxe2x80x9d databases, document management systems and xe2x80x9cWebxe2x80x9d (World Wide Web) servers, for example. The invention makes it possible to extract information while working directly, for example, on a report. The extraction of information can also proceed while working directly on; invitations to tender or similar documents in heterogeneous formats such as HTML (HyperText Markup Language) or ASCII (American Standard Code for Information Interchange). One can obtain an object, a publication date or the position, for example, of an invitation to tender published on a server with a specified protocol such as HTTP (HyperText Transmission Protocol). The proposed process makes it possible to filter the information to select the useful information, instead of adding another specific function for each application that requires the information.
This objective is achieved in that the query and result processing process between a client and a plurality of heterogeneous data sources by an adapter device specific to each source, of a given architecture, carries out the following steps independently:
reception of the query transmitted by the client application,
definition of an internal representation of the query by the adapter,
use of said internal representation of the query to rewrite the query in a format compatible with the source,
transmission of the converted query to the source, production of a filter object and initialisation of at least one filter chain composed of one or more xe2x80x9cfilterxe2x80x9d components,
retrieval by the filter object of the results from the source to transmit and filter them through the xe2x80x9cfilterxe2x80x9d component chain,
production of an answer object to transfer the results using the result conversion module to the client application.
According to another embodiment, the filter chain is initialised using the internal representation of the query and the filter object.
According to another embodiment, the answer object is produced from the filter chain.
According to another embodiment, the answer object is returned to the client application to enable it to retrieve the results.
According to another embodiment, metadata relating to the schema of the data in the source, the operators supported by the source and the costs associated with said operators is supplied to the client application.
The invention also aims to propose a given adapter architecture enabling the implementation of said process.
This objective is achieved in that the adapter comprises four modules, a co-ordination module acting as an interface with the client application comprising a connection component and an xe2x80x9canswerxe2x80x9d component, a query conversion module, comprising at least one analysis component, at least one conversion component and a process building component, a communication module with the source comprising a first xe2x80x9csourcexe2x80x9d component and a second xe2x80x9csource access filterxe2x80x9d component and a result conversion module comprising third filter components all with the same interface, each module comprises components each with a specified interface.
According to another embodiment, the same application programming interface API, the same query language and the same data pattern in the form of metadata from the source are used to process each source.
According to another embodiment, the result conversion module is composed of a set of components selected from four sorts of third filter components, xe2x80x9coperatorxe2x80x9d components applying additional limits to the answer, extraction filters, structure conversion filters and answer building filters converting the answer to the data format of the client application.
According to another embodiment, analysis components and/or conversion components are stacked.